DC-OS 安装体验

本文主要尝试如何快速的创建一个 DC/OS 的开发测试集群

  1. 安装virtualbox
    下载链接 https://www.virtualbox.org/wiki/Downloads
    根据不同的平台来安装不同的格式包,比如rpm
    下载pack:
1
Oracle_VM_VirtualBox_Extension_Pack-5.0.26-108824.vbox-extpack 进行安装,点击安装
  1. 安装vagrant
    也是根据不同的平台来安装
    下载链接 https://www.vagrantup.com/downloads.html

注意 1,2步骤有坑的地方是,不同的版本组合会有问题,比如我安装的时候使用的1.8.4 最新的virtualbox 5.1.4
vagrant是不能识别virtualbox provider的,具体错误是:
No Usable default provider could be found for your system

这个是因为有滞后支持的现象的,所以在安装的时候,根据安装需求的时候需要>=的版本跨度不要太大

  1. clone dcos-agent repo
1
git clone https://github.com/dcos/dcos-vagrant
  1. 安装 Vagrant Host Manager插件
1
vagrant plugin install vagrant-hostmanager
  1. 下载DC/OS installer
1
https://downloads.dcos.io/dcos/EarlyAccess/dcos_generate_config.sh?_ga=1.153462449.848392970.1471186149

这里是1.8.2版本

  1. 配置DC/OS installer
1
2
export DCOS_GENERATE_CONFIG_PATH=dcos_generate_config.sh
export DCOS_CONFIG_PATH=etc/config-1.8.yaml
  1. 配置DC/OS的机器类型
1
cp VagrantConfig.yaml.example VagrantConfig.yaml
  1. 下载VM的基础镜像
1
vagrant box add https://downloads.dcos.io/dcos-vagrant/metadata.json

但是这里我发现另外的机器下载很慢,于是进入链接,先下载镜像 https://downloads.dcos.io/dcos-vagrant/dcos-centos-virtualbox-0.7.0.box
下载到路径 /root/dcos-centos-virtualbox-0.7.0.box

下面的格式修改如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"name": "mesosphere/dcos-centos-virtualbox",
"description": "Base image on which to install Mesosphere DC/OS on VirtualBox",
"versions": [
{
"version": "0.7.0",
"status": "active",
"description_markdown": "Enable IPv4 forwarding",
"providers": [
{
"name": "virtualbox",
"url": "/root/dcos-centos-virtualbox-0.7.0.box",
"checksum_type": "sha1",
"checksum": "fc9d5a6a99ecb70aee67d4b68b8b6a48563e57cb"
}
]
}
]
}

执行:

1
vagrant box add metadata.json
  1. 可选的配置: Configure 认证,(默认安装是使用OAuth,支持Google,Github, or Microsoft)
    这个会在第一次登陆的时候提示认证,当然你也可以配置不同认证,参考 https://dcos.io/docs/1.7/administration/id-and-access-mgt/managing-authentication/#authentication-opt-out

  2. 部署集群

比如 vagrant up m1 a1 p1 boot

上面的对应的是:
m1 master节点
a1 agent private节点
p1 agent public 节点
boot boot节点

更多参考: https://github.com/dcos/dcos-vagrant/blob/master/VagrantConfig.yaml.example

  1. 扩展集群
    增加 agent node
1
2
vagrant up a2
vagrant up p2

减少节点

1
2
vagrant destroy -f a1
vagrant destroy -f p1

删除整个集群

1
vagrant destroy -f
  1. 简单的测试集群工作,

创建一个nginx 的 job